home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Original Shareware 1.1
/
The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso
/
32
/
eg93m.zip
/
EGAINT.MAN
< prev
next >
Wrap
Text File
|
1989-07-14
|
25KB
|
555 lines
NAME
egaint - Enhanced graphics aint
SYNOPSIS
egaint [cmp]
DESCRIPTION
Egaint represents an IBM Enhanced Graphics Adapter-specific
implementation of and complete replacement for aint. While providing
a very high degree of compatibility with its predecessor, egaint also
features several improvements, including a greater level of
compatibility with TETRIS, the Russian pioneer of the falling shape
genre of computer games.
MACHINE REQUIREMENTS
Egaint 0.93.05 was developed and tested solely on a Toshiba T5100
Personal Portable Computer; this means that I had a 16 Mhz 80386, an
EGA with 256K RAM, and MS-DOS 3.3 in mind during development. It is
highly recommended that at least an 80286 be present when egaint is
run (though you could probably make due without one); in addition, I
have heard rumors that the VGA is supported (though I cannot verify
this).
OBJECT
If you've played egaint before (or aint, TETRIS, NYET, Son of TETRIS,
or any of the related games), you can skip this part.
But for those of you who are new to this genre of computer games, the
object of egaint is to create solid rows across the twenty-four unit
high, ten unit wide playing field (solid in the sense that there are
no holes) by both moving and rotating the shapes which fall from the
top of the playing field towards the bottom. Once a solid row is
created, egaint will clear it from the screen, allowing everything
above it to fall into its place. However, if the shapes pile up and
reach the top of the playing field, the game will end (but your
addiction won't--at least for a while it shouldn't).
COMMAND-LINE OPTIONS
Egaint accepts one option which will allow the user to specify what
sort of display device will be used:
c An IBM Enhanced Color Display (or any compatible device capable
of displaying sixteen distinctive attributes at one time) will be
used.
m An IBM ECD-compatible device capable of displaying only two
distinctive attributes at one time (i.e., "black" and "white")
will be used.
p An IBM ECD-compatible device capable of displaying only four
distinctive attributes at one time (namely, the gas plasma
display of Toshiba T5100 Portable Personal Computer, which can
only show "bright orange," "medium-bright orange," "medium-dark
orange," and "dark orange") will be used.
GAME OPTIONS
Once inside egaint, a game options screen (after, of course, the title
screen). A brief summary of the available options (and their preset
values) follows.
Tournament Game (No)
There are two hundred and fifty-six possible tournament games
built into egaint; each tournament game will play exactly the
same each time it is invoked, making them ideal vehicle for
competitions between two players. Note that all conditions must
be identical for the games to be identical (i.e., the same
initial level, the same initial height, the same version of
egaint, etc.)
Tournament Game Number (0)
This option allows you to choose which particular game (out of
the two-hundred and fifty-six possible) you wish to play (they
range from zero to two-hundred and fifty-five).
Initial Level (5)
Where one is the easiest (slowest) and ten is the hardest
(fastest).
Initial Height (0)
Specifies how high (in blocks) an area should be filled with
randomly placed blocks (ranges from one to twelve). And, as an
improvement upon aint, egaint offers hidden (or invisible)
blocks, which may be set by incrementing the height past twelve.
Show Next (Yes)
Toggles whether or not the next piece to be put into play should
be displayed in a window in the upper-left corner of the screen.
Show Shadow (No)
This is still being worked on; the idea behind this is to have a
"shadow" cast upon the area beneath the falling shape (which
should, in theory, result in less placement errors).
Extended Shapes (Classic)
Egaint builds upon aint by offering four sets of shapes:
Classic
the seven basic shapes
Easy
the Classic set plus an assortment of smaller shapes
Medium
the Classic and Easy sets plus some moderately awkward shapes
Hard
all of the above sets plus larger, more difficult shapes
Block Style (varies)
There are four styles of blocks which you can choose from:
New
A style introduced in egaint 0.93.01 as part of the title
screen, it was found appealing enough to eventually replace the
original style (though that was later brought back).
Classic
The original style which was, as mentioned above, abandoned
(but later restored).
Pumped Full of Drugs
A random style which was created (out of boredom) after the New
style was added (did I here someone mention featuritis?); this
apt moniker was lifted directly from the not-so-apt title of a
very lethargic concert videotape.
Really P.F.D.
Another random style which represents a random combination of
all of the above styles.
KEY BINDINGS
The essential key bindings are the same as for aint, though some
additions have been made:
J Moves the current shape towards the left wall of the playing
field. In addition, this key moves the cursor upward while in
the game options screen.
K Rotates the current shape in the right, or clockwise, direction.
In addition, this key also toggles the selected option during the
game options screen.
L Moves the current shape towards the right wall of the playing
field. In addition, this key moves the cursor downward while in
the game options screen.
I Rotates the current shape in the left, or counter-clockwise,
direction.
Space Bar
Drops the current shape (and, as a result, relinquishes all user
control of it).
Escape
When first hit, it pauses the game: if Escape is hit again while
paused, it will abort the game; otherwise, play resumes. In
addition, pressing this during the game options screen while exit
you from the game and into the operating system.
B Cycles the current block style through from New to Classic to
Pumped Full of Drugs to Really P.F.D. and back to New, etc.
N Toggles the Show Next setting.
S Toggles the (non-functioning) Show Shadow setting.
V Increments the current level (and cycles back to level one).
X Cycles the current shape set through from Classic to Easy to
Medium to Hard and back to Classic, etc.
PLAYING FIELD SCREEN
The playing field screen is divided into four components:
Next window
This window is located in the upper-left corner of the screen and
displays, if Show Next is set, the next shape scheduled to come
into play.
Score window
This window is located in the upper-right corner of the screen,
directly opposite from the Next window, and consists of the
following:
Score
The current number of points attained by the player.
Value
The point value (after all bonuses have been added; see SCORING
for more information about this) of the current shape (i.e.,
the one falling).
Level
The current level of play (see ADVANCEMENT for more information
about this) and the current shape set.
Rows
The total number of rows which have been cleared during this
game.
Playing Field
This is represented by the narrow pit running the height of the
screen.
Key Bindings window
These are the two windows on either side of the playing field at
the bottom of the screen; they provide a quick summary of the
recognized keys to press and their assigned functions.
SCORING
The scoring is not complicated: each shape has been given a value
which was determined with the difficulty in placing and frequency of
necessity being the governing factors. This value is first multiplied
by your current level and then bonuses are added on; these bonuses are
awarded for not using Show Next, not using Show Shadow, having an
Initial Height, etc.
In addition, to the points which you automatically get for each piece,
you also get points for dropping pieces (the higher you drop, the more
points you get) and for, naturally, clearing rows. Again, these
points are multiplied by your current level and the above bonuses are
then added in.
Careful experimentation (or just looking at the source code) will
allow you to determine the exact scoring algorithm.
ADVANCEMENT
In addition, egaint will automatically provide level advancement (and
higher point values) for you after you clear a certain number of rows.
The rule for this is: after you clear your "x"th row, if "x" is a
multiple of ten, you will be advanced (if you are not at this or above
this already) to the "n"th level, where "n" is "x" divided by ten.
CONFIGURATION FILE
Egaint will save the current options (upon exit to the operating
system) in a file called EGAINT.RC; the format is pretty self-
explanatory upon inspection (i.e., if you don't understand this, don't
bother with it).
If egaint cannot find its configuration file, it will create one with
the above default options.
HIGH SCORE FILE
Egaint will save the top fifteen high scores (along with other
information about those particular games) into a file called
EGAINT.REC.
Again, if egaint cannot find its high score file, it will create one
(this means you can delete the high score file at any time).
UNRESTRICTIONS
Egaint is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License, Version 1, as
published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but
without any warranty whatsoever, without even the implied warranties
of merchantability or fitness for a particular purpose. See the
accompanying GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with egaint; see the file COPYING. If not, write to:
Free Software Foundation, Inc.
675 Massachusetts Avenue
Cambridge, Massachusetts 02139
PUBLIC DOMAIN AND SHAREWARE
This program is not public domain nor is it shareware (or freeware, or
whateverware): note that I am not asking you to send me any fees or
donations; also note that I have copyrighted this program.
What does this mean? Well, if you really drastically feel the need to
send someone money because you enjoy egaint, donate it to a worthy
cause, like (I think this is the correct spelling) Bruce Ritter's
Covenant Houses or to the above Free Software Foundation or whatever
you deem appropriate.
SOURCE CODE
For this particular version, egaint 0.93.05, you can obtain the
complete source code (which has compiled correctly under Turbo Pascal
versions 4.0 and 5.5, so I assume, by interpolation, it will compile
under 5.0) at either of the below bulletin board systems:
Tom and Sue McDermet's The Odyssey
A carrier of the SmartNet network
Morris Plains, New Jersey
(201) 984-6574
John Looker's Bandersnatch
Phoenix Net #807/7
Basking Ridge, New Jersey
(201) 766-3801
In addition, those of you with Internet access can reach me at the
following address:
erc@{mars,irss,inis}.njit.edu
Please send any bug reports, modifications, or other assorted queries
to the above address (if you can). Also, I will be returning to
college sometime in mid-August, meaning that later versions of egaint
may not be posted on the above bulletin boards (being that they will
be quite long distance calls for me); the e-mail address, however,
should remain valid.
REVISION HISTORY
aint 0.0 (19-Apr-89)
The original, bare-bones version of aint, it represented a
falling shape game, though not much else. Originally "thrown
together" under the aegis of a wager.
aint 0.1 (20-Apr-89)
The first version of aint to adequately capture the concept of
the genre it was trying to fit into (i.e., constructing rows)
without possessing any really major bugs; it, in turn, lacked the
"standard" features of generic computer games (scoring being one
notable example).
aint 0.2 (20-Apr-89)
The alpha-test version of aint: the really major bugs that were
later discovered were fixed and "standard features" like scoring
and levels were added.
aint 0.8 (21-Apr-89)
The beta-test version of aint: pretty much rewritten, it used
more reliable machine-independent timing functions and more
realistic scoring functions while Show Next, Show Statistics,
Initial Height, (a not particularly reliable implementation of)
Tournament Games, a game options screen, and a true high score
list were added.
aint 0.9 (26-Apr-89)
The pre-release version of aint: a bug which caused a fatal
system crash at peculiar moments was fixed while "debug features"
like Smart Bomb, Polymorph, and Nuke were added. This was the
first version to be distributed (in a still quite limited and
very lackadaisical fashion) beyond the initial test groups.
egaint 0.9 (2-May-89)
The initial version of egaint, it was written specifically for
the graphics hardware which I had: EGAs with 256K RAM connected
to gas plasma screens capable of displaying only four shades of
orange. Originally conceived as a rewritten, portable aint
(cough), it slowly (de-) evolved (due to laziness) into a
hideously slow, flickery, EGA-only version.
All the cheap bells and whistles present in aint (like the "debug
features") were abandoned in favor of less tacky bells and
whistles, like actually drawing the shapes in the Statistics
window and not calling them funny names like "ell" and "lel."
egaint 0.91 (2-Jun-89)
A kludged version of egaint which provided support for more
colors.
egaint 0.92 (13-Jun-89)
The "lost" egaint: conceived as an idea on paper, this was the
ambitious start of a complete rewrite of egaint. This new
version would add support for CGAs, bare-bone EGAs, HGCs, MCGAs,
and VGAs. In addition, the "flagship" version of egaint for EGAs
with 256K RAM (and VGAs) would employ video page switching (in an
attempt to remove the flicker).
Unfortunately, this version is still that, an idea on paper.
egaint 0.91.99 (18-Jun-89)
Being too lazy (and busy) to actually rewrite egaint at this
point and time, this revision provided a bridge between versions
and included specific improvements conceived with egaint 0.92.
The most important was the test of video page switching in the
title screen (which, after several almost hilarious attempts,
turned out great). In addition, extended shapes were added (most
of them quite ridiculous) and Show Statistics was removed because
of this (there were too many damned shapes!). Minor fixes
included the ability to use Escape as an editing key while
entering high score names and the removal of the wilder block
styles.
egaint 0.92.01 (18-Jun-89)
Since so many of egaint 0.92's planned improvements were being
implemented (and since I didn't feel like using hexidecimal
version numbers), the revision number was advanced to reflect
"0.92" status. Shadowing, a feature seen in a UNIX
implementation by Adam Margulies was begun (and latter scuttled).
In addition, the use of Escape to pause, double Escape to quit
was implemented, as was the ability to toggle options during game
play. Finally, Initial Height blocks were given their own
special, muted-color style (in order to distinguish them from
"real" blocks).
egaint 0.92.02 (18-Jun-89)
This version added true shadowing (though extremely flickery).
In addition, an attempt to use video page switching in the actual
game play was attempted and quickly abandoned.
egaint 0.93.01 (24-Jun-89)
The actual rewrite of egaint began with this version: however,
due to laziness (again), it turned into a half-rewrite, half-
recopy. On the other hand, all of the code which was rewritten
turned out to be the only code which needed to be rewritten (at
least in my opinion). A more elegant video page switching scheme
was implemented throughout the entire program, causing a
noticeable performance degradation in the title and game over
screens but (mysteriously) not in the actual game play itself.
Shadowing code was, at the very last moment, commented out due to
an inability to conceive of an elegant (or at least efficient)
manner of implementation.
Also, code was added that allowed the user to determine which
shape set was currently in use. In addition, the "New" block
style was introduced, though not for game play, but rather for
the title and game over screens. Finally, the playing field
screen was modified: the Score window was moved over to the
upper-right corner, and the Key Bindings window asexually
reproduced into two.
egaint 0.93.02 (25-Jun-89)
This version consisted mainly of cosmetic improvements; the most
notable was the addition of the "New" block style as an
alternative to the "Old" (later renamed "Classic") block style.
Also, the Score window was now updated after each toggle, making
it less confusing. Finally, the game over code was removed
because the "New" block style was now being used within the game
play.
egaint 0.93.03 (25-Jun-89)
The pre-release version of egaint: it added minor features, like
the "Pumped Full of Drugs" and "Really P.F.D." block styles, a
new game over screen, a completely re-implemented extended shape
set, the ability to rotate shapes the other direction (the I key;
another improvement from Adam Margulies), and the "Value" entry
in the Score window. Finally, the high score file format was
changed to note which version (out of the seemingly hundreds) was
played for each score.
This version also featured pre-release documentation, a hastily
put-together mishmash of old aint documents modified for the
egaint context.
Distribution of egaint began with this version; a rudimentary
serial number system (to allow the author, just for curiosity, to
track the distribution path of a specific copy) was implemented.
Unfortunately, distribution was limited to only bulletin board
systems which were non-toll calls from Morris Plains.
egaint 0.93.04 (30-Jun-89)
A private maintenance revision of egaint, it tuned down the
scoring and changed the name of the "Old" block style to
"Classic."
egaint 0.93.04x (7-Jul-89)
This revision of egaint was the first to be compiled under Turbo
Pascal 5.5 and marked the removal of the serial number system (in
anticipation for the distribution of source code, which would
render any sort of tracking useless).
egaint 0.93.05 (13-Jul-89)
The first release of egaint to fully comply with the GNU General
Public License (though it and aint had been previously
distributed without source code under terms and conditions set up
by the Free Software Foundation), it provided for a configuration
file and a name change (from "New More Order" to the author's
real identity). In addition, the documentation was rewritten
into a UNIX "man"-like format.
aint 0.90.01 (13-Jun-89)
A fix-up of aint for inclusion in the egaint 0.93.05 package, it
added some cosmetic improvements to the title/game options screen
and reset the initial values for some variables; note that there
are (major) scoring differences between egaint 0.93.05 and aint
0.90.01.
STILL TO COME
Realistically, there still is a long way to go before the "whole"
version of egaint 1 can be released; the following are only a few of
the improvements which must be implemented before that release can
become a reality:
+ Support (via different versions, like cgaint, hgaint, mcgaint,
etc.) for different graphics cards, including EGAs with only 64K
RAM.
+ An elegant (or at least efficient) implementation of Show Shadow.
+ More efficient code, allowing egaint to be run on slower machines
without noticeable performance degradation.
+ Placement of code into separate modules, allowing for easier
maintenance.
+ Microsoft Mouse support.
In addition, the following ideas are being considered:
+ Background screens: I've been considering loading .GIF screens
onto the background so that users aren't forced to gaze at low-
resolution caricatures of Russian life.
+ A different game premise (if you ask me, I'm kind of sick of the
falling shape genre of computer games).
CREDITS
Borland International's BGI (Borland Graphics Interface, I believe)
system was used for the graphics and font libraries of egaint.
SEE ALSO
TETRIS, NYET, Son of TETRIS Project (SOT), etc.
TRADEMARKS
All brand and product names are the trademarks or registered
trademarks of their respective holders.
Whew!
Copyright (C) 1989 Eric Ng